import request from '@/utils/request'

/**
 * 获取员工的简单信息，用作添加部门时的管理员
 * @returns
 */
export function getSimpleEmployes() {
  return request({
    url: '/sys/user/simple'
  })
}
/**
 * 获取员工的综合列表数据
 * @param {Object} params {page:1,size:10}
 * @returns
 */
export function getEmployeeListApi(params) {
  return request({
    url: '/sys/user',
    params
  })
}
/**
 * 删除员工
 * @param {Number} id
 * @returns
 */
export function delEmployeeApi(id) {
  return request({
    method: 'delete',
    url: `/sys/user/${id}`
  })
}
/**
 * 新增员工
 * @param {Object} data
 * @returns
 */
export function addEmployeeApi(data) {
  return request({
    method: 'post',
    url: `/sys/user`,
    data
  })
}

/** *
 *  员工的批量导入
 * @param {Object} data [{
        username: '', // 姓名
        mobile: '', // 手机号码
        formOfEmployment: '', // 聘用形式
        workNumber: '', // 工号
        departmentName: '', // 部门
        timeOfEntry: '', // 入职时间,要求是时间日期对象
        correctionTime: '' // 转正时间,要求是时间日期对象
      },{
        username: '', // 姓名
        mobile: '', // 手机号码
        formOfEmployment: '', // 聘用形式
        workNumber: '', // 工号
        departmentName: '', // 部门
        timeOfEntry: '', // 入职时间
        correctionTime: '' // 转正时间
      }]
 * @returns
 * ***/

export function importEmployeeApi(data) {
  return request({
    url: '/sys/user/batch',
    method: 'post',
    data
  })
}
/**
 * 保存员工的基本信息
 * @param {*} data
 * @returns
 */
export function saveUserDetailByIdApi(data) {
  return request({
    method: 'put',
    url: `/sys/user/${data.id}`,
    data
  })
}
/**
 * 读取用户详情的基础信息
 * @param {*} id 员工id
 */
export function getPersonalDetailApi(id) {
  return request({
    url: `/employees/${id}/personalInfo`
  })
}
/**
 * 更新用户详情的基础信息
 * @param {Number} id
 * @param {Object} data
 * @returns
 */
export function updatePersonalApi(id, data) {
  return request({
    method: 'put',
    url: `/employees/${id}/personalInfo`,
    data
  })
}

/**
 * 获取员工的岗位信息
 * @param {Number} id 员工id
 * @returns
 */
export function getJobDetailApi(id) {
  return request({
    url: `/employees/${id}/jobs`
  })
}
/**
 * 更新员工的岗位信息
 * @param {Number} id 员工id
 * @param {Object} data 员工岗位数据
 * @returns
 */
export function updateJobDetailApi(id, data) {
  return request({
    method: 'put',
    url: `/employees/${id}/jobs`,
    data
  })
}

/**
 * 给员工分配角色
 * @param {*} data  {id,roleIds}
 * @returns
 */
export function assignRoles(data) {
  return request({
    url: '/sys/user/assignRoles',
    data,
    method: 'put'
  })
}
